//
// Created by jiangpenghui on 2023/6/13.
//

#ifndef CMAKECXX_ALGORITHM_CONTAINER_H
#define CMAKECXX_ALGORITHM_CONTAINER_H

#include <ostream>
#include <vector>
#include <list>
#include <deque>
#include <iostream>

class integer_item {
    int a;

public:

    bool operator==(const integer_item &rhs) const;

    bool operator!=(const integer_item &rhs) const;


    // 复制函数
    integer_item operator=(const integer_item &rhs);


    // 打印函数
    friend std::ostream &operator<<(std::ostream &os, const integer_item &item);

public:

    // 移动构造
    integer_item(integer_item &&ref);

    // 复制构造
    integer_item(integer_item &ref);

    // 空参构造
    explicit integer_item(int &&a = 1);

    // 带参构造
    explicit integer_item(int &a);


    virtual ~integer_item();

public:
    int getA() const;

    void setA(int a);
};

void operator_integer_item();


void constructor_integer_item();

#endif //CMAKECXX_ALGORITHM_CONTAINER_H
